#ifndef READER_H
#define READER_H

#include <zxing/Result.h>
#include <newcode/ByteMatrix.h>
#include <newcode/encoder/EncoderGC.h>
#include <newcode/decoder/DecoderGC.h>

namespace newcode {

using namespace zxing;
using namespace newcode::decoder;

/**
 * Doesn't extetends from zxing::Reader because acepts greyscale images.
 */
class GreyscaleCodeReader: public Counted
{
private:
  Decoder decoder;

public:
    GreyscaleCodeReader();
    virtual Ref<Result> decode(Ref<ByteMatrix> image);
};

}

#endif // READER_H
